Native User Properties Help

I have a script that manages User Properties: properties of a 'User' under control of DXL scripts. See DXL manual chapter "Rational DOORS database access", section "Group and user management", a few 'property' and 'isAttribute' commands below the table.

I need to know which Properties are used by DOORS tools, which I call 'Native Properties', so the script can help manage the other ones.

I know about these 'Native' properties:


CPS Member DOORSnet Guest DOORSnet configure rights DOORSnet publish rights preferredBcFileExt preferredEditor


That means that some DOORS tool sets property 'DOORSnet publish rights', no doubt boolean, for the user.

If you don't mind, please run the attached script on your database. It only looks and prints. If it produces a property not labeled '<- Known Native Property', please let me know. If you know what such properties do or which utilities they are associated, please also let me know that.


// UserProperties_Dump.dxl 
/* Print the user created User Properties; either each property value for each user, or the names of each unique property in any user */ 
// These 'Native' properties seem to be created by various DOORS utilities 

const string c_NativeProps[] = 
{ 
"CPS Member", 
"DOORSnet Guest", 
"DOORSnet configure rights", 
"DOORSnet publish rights", 
"preferredBcFileExt", 
"preferredEditor"       
}   
//****************** bool   IsNativeProp(string NameProperty) 
{ 
// Is this property a known Native User property? 

int           i 

for (i=0; i<sizeof(c_NativeProps); i++) 
{  

if (NameProperty == c_NativeProps[i]) 

return(

true) 
}        
// end for each known Native Properties 

return(

false) 
}    
// end IsNativeProp()   
//********************** 

void       DumpAvailableProps() 
{      
// Get a list of all User Properties in the database. 
// Include the Native properties only when so specified 
// Doesn't find the Administrator Properties   Skip     skpProps = createString() string        Results, NameProperty User      usr 
// [1] Get Skip list of all Properties 

for usr in userList 

do 
{ ensureUserRecordLoaded(usr) 

for NameProperty in usr 

do 
{  put(skpProps, NameProperty, NameProperty)      
// Ignore duplication errors 
}      
// end for this user's Properties 
} 
// end for users in the database 
// [2] Convert Skip into Buffer print 
"Property Names in the Database\n" 

for NameProperty in skpProps 

do 
{  print 
"'" NameProperty 
"'" 

if (IsNativeProp(NameProperty)) print 
" \t<- Known Native Property" print 
"\n" 
} delete(skpProps) 
// [3] Convert buffer into String 
}  
// end DumpAvailableProps()   DumpAvailableProps() 
//       ---- end file UserProperties_Dump.dxl ----

Output on my computer looks like:
'CPS Member' <- Known Native Property
'DOORSnet Guest' <- Known Native Property
'DOORSnet configure rights' <- Known Native Property
'DOORSnet publish rights' <- Known Native Property
'ManageUsers_LastLogin'
'ManageUsers_Status'
'ManageUsers_StatusDate'
'ManageUsers_UserName'

  • Louie

llandale - Mon May 03 09:55:28 EDT 2010

Re: Native User Properties Help
kbmurphy - Mon May 10 13:31:51 EDT 2010

My output is:

Property Names in the Database
'CPS Member' <- Known Native Property

Re: Native User Properties Help
SystemAdmin - Mon May 10 13:57:20 EDT 2010

Same as Ken's
Property Names in the Database
'CPS Member' <- Known Native Property